const axios = require('axios');

const API_BASE = 'http://localhost:3000';

async function testNewLogin() {
  console.log('开始测试新的登录功能...\n');
  
  try {
    // 测试使用新的用户ID登录
    console.log('1. 测试使用新用户ID登录');
    const loginRes = await axios.post(`${API_BASE}/users/login-by-id`, {
      userId: '68aeed055e85b6f7f7ff0480'
    });
    
    console.log('✅ 登录成功:', loginRes.data);
    
    if (loginRes.data.success) {
      const { userId, username, nickname, avatarUrl, accessToken } = loginRes.data.data;
      console.log('用户信息:');
      console.log('- 用户ID:', userId);
      console.log('- 用户名:', username);
      console.log('- 昵称:', nickname);
      console.log('- 头像:', avatarUrl);
      console.log('- Token长度:', accessToken ? accessToken.length : 0);
      
      // 测试创建会话
      console.log('\n2. 测试创建聊天会话');
      const createChatRes = await axios.post(`${API_BASE}/chats/openOrCreate`, {
        fromUserId: userId,
        targetType: 'hospital',
        targetId: 'hospital_001',
        targetName: '北京医美医院'
      });
      
      console.log('✅ 创建会话成功:', createChatRes.data);
      
      // 测试发送消息
      console.log('\n3. 测试发送消息');
      const sendMessageRes = await axios.post(`${API_BASE}/chats/${createChatRes.data._id}/messages`, {
        senderId: userId,
        content: '你好，我是' + username + '，想咨询医美项目',
        type: 'text'
      });
      
      console.log('✅ 发送消息成功:', sendMessageRes.data);
      
      console.log('\n🎉 所有测试完成！新登录功能正常工作。');
    }
    
  } catch (error) {
    console.error('❌ 测试失败:', error.response?.data || error.message);
    
    if (error.code === 'ECONNREFUSED') {
      console.log('\n💡 提示: 请确保后端服务已启动 (npm start)');
    }
  }
}

// 运行测试
testNewLogin();
